#pragma once

enum class BlockType : unsigned char
{
	NONE_TILE = 0,
	TILE1,
	TILE2,
	TILE3,
	TILE4,
	TILE5,
	MAXTILE
};

class BlocksSprite : public Singleton<BlocksSprite>
{
public:
	bool Init();
	void Destroy();
	Sprite* GetTile(BlockType type);
private:
	Sprite m_tile[BlockType::MAXTILE];
};


class Block
{ 
public:
	Block();
	void Init(BlockType type);
	void Draw(float x, float y, float z);

	bool IsFree();
private:
	BlockType m_type = BlockType::NONE_TILE;
	Sprite *m_tile;
	Sprite *m_tileobj;
};